#ifndef _ISTYLEDRIVER_H_
#define _ISTYLEDRIVER_H_

#include <BMap>
#include <BString>
#include <BWidget>
#include <BStyle>

namespace BWE
{
	class StyleChunk
	{
	public:
		BString			className;
		BString			name;
		BHolder<BStyle>	style;
	};
	class IStyleDriver : public BThing
	{
	public:
		IStyleDriver();
		~IStyleDriver();

		void init(const BString& text);
		void clear();
		bool empty() const;

		bool apply(BWidget* widget);

		void addStyle(BString& head, BString& desc);

	private:
		BArray<StyleChunk>	_styleChunks;
	};
}

#endif